package com.example.fileuploaddownload.mapper;

import com.example.fileuploaddownload.entity.FileChunk;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 文件分片Mapper接口
 * 使用MyBatis-Plus BaseMapper提供基础CRUD功能
 */
@Mapper
public interface FileChunkMapper extends BaseMapper<FileChunk> {

    /**
     * 根据标识符查询已上传的分片索引
     * @param identifier 文件标识符
     * @return 分片索引列表
     */
    List<Integer> selectChunkIndexesByIdentifier(@Param("identifier") String identifier);

    /**
     * 根据标识符删除所有相关分片
     * @param identifier 文件标识符
     * @return 删除的记录数
     */
    int deleteByIdentifier(@Param("identifier") String identifier);

    /**
     * 根据文件ID删除所有相关分片
     * @param fileId 文件ID
     * @return 删除的记录数
     */
    int deleteByFileId(@Param("fileId") Long fileId);
}